'use strict';
exports.main = async (event, context) => {
  const db = uniCloud.database()
  const { mobile, password } = event

  try {
    // 校验手机号格式
    const mobileReg = /^1[3-9]\d{9}$/
    if (!mobileReg.test(mobile)) {
      return { code: 4001, message: '手机号格式不正确' }
    }

    // 查询用户信息
    const { data: users } = await db.collection('user')
      .where({ mobile })
      .get()

    // 用户不存在
    if (!users || users.length === 0) {
      return { code: 4002, message: '用户不存在' }
    }

    const user = users[0]

    // 检查用户状态
    if (user.status === 0) {
      return { 
        code: 4003, 
        message: '账号已被禁用，请联系管理员' 
      }
    }

    // 简单密码验证（直接比较明文密码，实际应用中不推荐）
    if (user.password !== password) {
      return { code: 4004, message: '密码错误' }
    }

    // 更新最后登录时间
    await db.collection('user').doc(user._id).update({
      lastLogin: Date.now(),
      loginCount: (user.loginCount || 0) + 1
    })

    return {
      code: 0,
      message: '登录成功',
      data: {
        userInfo: {
          _id: user._id,
          mobile: user.mobile,
          username: user.username,
          avatar: user.avatar,
          score: user.score,
          dan: user.dan
        }
      }
    }

  } catch (error) {
    console.error('登录失败:', error)
    return {
      code: 500,
      message: '系统错误，请稍后再试',
      error: error.message
    }
  }
}